package edu.lingnan.rili.service;

import edu.lingnan.rili.pojo.Marks;
import com.baomidou.mybatisplus.extension.service.IService;
import edu.lingnan.rili.vo.MarksVo;
import edu.lingnan.rili.vo.PagingQueryResult;
import org.apache.commons.lang3.math.Fraction;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 陈世杰
 * @since 2022-01-23
 */
public interface MarksService extends IService<Marks> {
    /**
     * @description 查找加分并且已经公示的加分记录
     * @author xBaozi
     * @date 23:15 2022/3/13
     * @return      返回查询数据
     **/
    @Deprecated
    List<Marks> selectByPositiveAndAnnounced();

    /**
     * @description 使用vo类实现查找加分并且已经公示的加分记录，减少字段冗余
     * @author xBaozi
     * @date 10:21 2022/3/20
     * @return      返回查询数据
     **/
    List<MarksVo> selectByAnnounced();

    /**
     * @description 分页查询加分并且已经公示的加分记录
     * @author xBaozi
     * @date 17:44 2022/4/4
     **/
    PagingQueryResult<MarksVo> selectByAnnouncedAndPage(int currentPage, int pageSize);

    /**
     * @description 新增加分减分数据
     * @author xBaozi
     * @date 9:04 2022/3/23
     * @param marksVo       需要新增的数据
     * @param fractionFlag  加减分标识，true为加分，false为减分
     * @return      成功表示，true为成功，false为失败
     **/
    Boolean addData(MarksVo marksVo, Integer fractionFlag);
}
